import Vue from 'vue'
// import App from './App.vue'
// import App from './views/User.vue'
import App from './App.vue'
// 6.2 导入路由模块
import router from './router/index'

// 样式初始化
import './styles/reset.css'
import './styles/iconfont.css'

// 全局注册 Vant 组件 或者 函数
import { Toast } from 'vant'
import {Notify} from 'vant'
import { Image as VanImage } from 'vant'
import { Dialog } from 'vant';
import { NavBar } from 'vant';
import { Icon } from 'vant';
import { Uploader } from 'vant';
import { Field } from 'vant';
import { ActionSheet } from 'vant';
import { Tab, Tabs } from 'vant'
import { List } from 'vant'
import { PullRefresh } from 'vant'
import { Button } from 'vant'
import { SwipeCell } from 'vant'
import { Empty } from 'vant'
import { Search } from 'vant'

Vue.use(Search)
Vue.use(Empty)
Vue.use(SwipeCell)
Vue.use(Button)
Vue.use(PullRefresh)
Vue.use(List)
Vue.use(Tab)
Vue.use(Tabs)
Vue.use(ActionSheet);
Vue.use(Field);
Vue.use(Uploader);
Vue.use(Icon);
Vue.use(NavBar);

Vue.use(VanImage)
// console.log(typeof Toast);   // 轻提示是一个函数 function
// 全局注册 Toast 函数，会自动在 Vue 的 prototype 上挂载 $toast 方法，便于在组件内通过 this.$toast 调用。
Vue.use(Toast)
Vue.use(Notify)
Vue.use(Dialog)
Vue.config.productionTip = false
import defaultImg from './assets/logo.png'
import request from './utils/request'


  // 过滤器
 Vue.filter('imgUrl',(val)=>{
  //  全局过滤器
  if (!val) {
    // 在JS文件中，本地图片需要导入后，才能使用其打包后的路径
    return defaultImg
    // return require('./assets/logo.png')
  } else if (val.indexOf('http') === -1) {
        // 如果没有http开始，就需要拼接完整的图片地址
        return request.defaults.baseURL + val;
      } else {
        return val;
   }
  })
// 三元运算符 + 箭头函数 化简后一行代码即可
// Vue.filter('imgUrl', (val) => val.indexOf('http') === -1 ? request.defaults.baseURL + val : val)

// 通过过滤器实现时间的格式化处理
  Vue.filter('formatDate',(val)=>{
    console.log(val)
    if(val){
      return val.replace('T','').replace('.000Z','')
    }
  })

  // 自定义获取焦点的指令
Vue.directive('focus', {
  // 标签(组件)更新时，自动获取焦点
  update(el) {
    el.focus()
  },
})

new Vue({
  // 6.3 把路由实例添加到 Vue 中
  router,
  render: h => h(App),
}).$mount('#app')